﻿#region Copyright (c) 2010 R. Uittenbosch
/*
* Copyright (C) 2010 R. Uittenbosch
* 
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 
* associated documentation files (the "Software"), to deal in the Software without restriction, including 
* without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
* copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the 
* following conditions:
* 
* The above copyright notice and this permission notice shall be included in all copies or substantial 
* portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
* LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 
* EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#endregion

//-----------------------------------------------------------------------
// <copyright file="Constants.cs" company="Beemway">
//     Copyright (c) Beemway. All rights reserved.
// </copyright>
// <license>
//     Microsoft Public License (Ms-PL http://opensource.org/licenses/ms-pl.html).
//     Contributors may add their own copyright notice above.
// </license>
//-----------------------------------------------------------------------

using System;

namespace LinkedService.Mobile
{




  /// <summary>
  /// A Constants class.
  /// </summary>
  internal static class Constants
  {
    /// <summary>
    /// The base url for all the OAuth calls.
    /// </summary>
    public static readonly string ApiOAuthBaseUrl = "https://api.linkedin.com/uas/oauth/";

    /// <summary>
    /// The base url for all the API calls.
    /// </summary>
    public static readonly string ApiBaseUrl = "http://api.linkedin.com/v1/people";

    /// <summary>
    /// The method name of the Request Token method.
    /// </summary>
    public static readonly string RequestTokenMethod = "requestToken";

    /// <summary>
    /// The method name of the Authorize method.
    /// </summary>
    public static readonly string AuthorizeTokenMethod = "authorize";

    /// <summary>
    /// The method name of the Access Token method.
    /// </summary>
    public static readonly string AccessTokenMethod = "accessToken";

    /// <summary>
    /// The method name of the Connections API.
    /// </summary>
    public static readonly string ConnectionsMethod = "connections";

    /// <summary>
    /// The method name of the Network Updates API.
    /// </summary>
    public static readonly string NetworkUpdatesMethod = "network";

    /// <summary>
    /// The method name of the Status Update API.
    /// </summary>
    public static readonly string StatusMethod = "current-status";

    /// <summary>
    /// The method name of the Messaging API.
    /// </summary>
    public static readonly string MessageMethod = "mailbox";

    /// <summary>
    /// The method name of the Post Network Updates API.
    /// </summary>
    public static readonly string PostNetworkUpdateMethod = "person-activities";

    /// <summary>
    /// The identifier for the current user.
    /// </summary>
    public static readonly string CurrentUserIdentifier = "~";

    /// <summary>
    /// The maximum length of a status.
    /// </summary>
    public static readonly int MaxStatusLength = 140;

    /// <summary>
    /// The content type for LinkedIn html.
    /// </summary>
    public static readonly string LinkedInHtmlContentType = "linkedin-html";

    /// <summary>
    /// The maximum number of network updates to return.
    /// </summary>
    public static readonly int MaxNumberOfNetworkUpdates = 50;

    /// <summary>
    /// The maximum number of connections to return.
    /// </summary>
    public static readonly int MaxNumberOfConnections = 5000;

    #region Parameters
    /// <summary>
    /// The count parameter name.
    /// </summary>
    public static readonly string CountParam = "count";

    /// <summary>
    /// The start parameter name.
    /// </summary>
    public static readonly string StartParam = "start";

    #region Search parameters
    /// <summary>
    /// The keywords parameter name.
    /// </summary>
    public static readonly string KeywordsParam = "keywords";

    /// <summary>
    /// The name parameter name.
    /// </summary>
    public static readonly string NameParam = "name";

    /// <summary>
    /// The company parameter name.
    /// </summary>
    public static readonly string CompanyParam = "company";

    /// <summary>
    /// The current company parameter name.
    /// </summary>
    public static readonly string CurrentCompanyParam = "current-company";

    /// <summary>
    /// The title parameter name.
    /// </summary>
    public static readonly string TitleParam = "title";

    /// <summary>
    /// The current title parameter name.
    /// </summary>
    public static readonly string CurrentTitleParam = "current-title";

    /// <summary>
    /// The industry code parameter name.
    /// </summary>
    public static readonly string IndustryCodeParam = "industry-code";

    /// <summary>
    /// The search location type parameter name.
    /// </summary>
    public static readonly string SearchLocationTypeParam = "search-location-type";

    /// <summary>
    /// The country code parameter name.
    /// </summary>
    public static readonly string CountryCodeParam = "country-code";

    /// <summary>
    /// The postal code parameter name.
    /// </summary>
    public static readonly string PostalCodeParam = "postal-code";

    /// <summary>
    /// The sort criteria parameter name.
    /// </summary>
    public static readonly string SortCriteriaParam = "sort-criteria";
    #endregion

    #region Network Updates
    /// <summary>
    /// The type parameter name.
    /// </summary>
    public static readonly string TypeParam = "type";

    /// <summary>
    /// The after parameter name.
    /// </summary>
    public static readonly string AfterParam = "after";

    /// <summary>
    /// The before parameter name.
    /// </summary>
    public static readonly string BeforeParam = "before";
    #endregion
    #endregion
  }
}
